package com.baidu.app.dao;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Repository;

import com.baidu.pro.bean.Cart;
import com.baidu.pro.bean.CartItem;

@Repository
public class CartDao {

	@Autowired
	private MongoTemplate mongoTemplate;
	
	public List getCartItem(){
		
		List<CartItem> list = mongoTemplate.findAll(CartItem.class, "cartItem");
		
		return list;
	}

	public void addCartItem(CartItem cartItem2) {
		
		mongoTemplate.save(cartItem2, "cartItem");
	}

	public void addCart(Cart cart) {
		
		mongoTemplate.save(cart, "cart");
	}

	public void updateCartItem(CartItem cartItem) {
		
		Update update = new Update();
		
		update.set("buyNum",cartItem.getBuyNum());
		
		mongoTemplate.updateFirst(new Query(Criteria.where("id").is(cartItem.getId())), update, CartItem.class);
	}

	public CartItem getCartItemById(String id) {
		
		return mongoTemplate.findOne(new Query(Criteria.where("id").is(id)), CartItem.class, "cartItem");
	}

	public void updateCart(Cart cart) {
		
		Update update = new Update();
		
		update.set("items", cart.getItems());
		
		update.set("mitems", cart.getMitems());
		
		mongoTemplate.updateFirst(new Query(), update, Cart.class);

		
	}


	public List getCartItemList() {
		
		return mongoTemplate.findAll(CartItem.class, "cartItem");
	}
}
